#include "Float.h"

Float::Float(float valor) {
    this->_valor = valor;
    this->_punteroADato = &_valor;
}

Float::Float(void* punteroADato){
    this->_punteroADato = punteroADato;
}

Float::Float(string valor){
	this->_valor = atof(valor.c_str());
}

void Float::comparar(TipoDeDato& tipoDeDato,ostream& out) {
    float* otroValor = (float*) tipoDeDato.damePunteroADato();
    if ( _valor != *otroValor )
        out << "Se esperaba " << _valor << " y se obtuvo " << *otroValor << " . Diferencia: " << _valor - (*otroValor) << endl;
}

float Float::dameValor(){
    return this->_valor;
}

ClaseDeDato Float::getClass() {
    return C_FLOAT;
}
